from .common import *

class SkipNextPage(wx.adv.WizardPage):
    '''复杂功能页
    
        必须实现 GetNext() 和 GetPrev() 方法
        理应实现 GetBitmap() 方法
    '''
    def __init__(self, parent, title, bitmap=wx.NullBitmap):
        WizardPage.__init__(self, parent, bitmap=bitmap)
        self.next = self.prev = None
        self.sizer = makePageTitle(self, title)

        self.checkBox = wx.CheckBox(self, -1, '跳过下一页')
        self.sizer.Add(self.checkBox, 0, wx.ALL, 5)

    def SetNext(self, next):
        '''设置后一页'''
        self.next = next

    def SetPrev(self, prev):
        '''设置前一页'''
        self.prev = prev

    def GetNext(self):
        '''获取下一页/下一指定页'''
        if self.checkBox.GetValue():
            self.next.GetNext().SetPrev(self)
            return self.next.GetNext() # 直接跳往下下页
        else:
            self.next.GetNext().SetPrev(self.next)
            return self.next

    def GetPrev(self):
        '''获取上一页/上一指定页'''
        return self.prev

    # def GetBitmap(self): '''设置图标'''
